<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
	<th:block th:include="include :: header('商品库')" />
	<th:block th:include="include :: businessCSS" />
	<style>
        .main-content{position: relative;}
        .topbtns{position:fixed;top: 0;width: 100%;z-index: 9999;background-color: #fff;}
		.preservationBtn{padding: 10px;margin: 0;position: fixed;top: 0;z-index: 9999;background: #fff;width: 100%;}
		.preservationBtn input{font-size: 16px;background-color: rgb(80, 138, 238);color: #fff;border: none;padding: 5px 30px;border-radius: 5px;cursor: pointer;}
		/* .layui-border-box{height: 350px !important;}
		.layui-table-body{height: 240px !important;} */
		.layui-table-tool-temp{padding-right: 30px;}
        .getDetailUpload,.getDetailUpload2{cursor: pointer;}
        .layui-table-tool-self{display: none;}

	</style>
</head>
<body class="no-skin">
<div class="main-container" id="main-container">
	<div class="main-content">
	<form class="layui-form head-form">
        <div class="topbtns"><th:block th:include="include :: business_btn" /></div>
	    <div class="north" style="background-color: #fff;margin-top: 55px;">
			<!-- <div class="layui-form-item preservationBtn">
                <button class="layui-btn layui-btn-normal dhicon" type="button" lay-submit lay-filter="btn-edit" id="btn-edit">保存</button>
                <button class="layui-btn layui-btn-normal dhicon" type="button" lay-submit lay-filter="btn-sh" id="btn-sh">审核</button>
                <button class="layui-btn layui-btn-normal dhicon" type="button" lay-submit lay-filter="btn-del" id="btn-del">删除</button>
			</div> -->
			<!-- <div style="width: 100%;height: 65px;background: #f6f6f6;"></div> -->
			<div class="forminput"></div>
    	</div>
        <div style="width: 100%;height: 10px;background: #f6f6f6;"></div>
        <div>
            <table class="layui-hide" id="mjdhtable" lay-filter="mjtable"></table>
            <script type="text/html" id="zjtoolbar">
                <div style="padding: 16px;display: flex;justify-content: space-between;">
                    <div  style="font-weight: 700;font-size: 18px;">母件列表</div>
            		<div>
                        <button class="layui-btn layui-btn-normal dhicon" th:classappend="${enableEdit} == 1 ?'':'layui-btn-disabled'" type="button" th:disabled="${enableEdit} == 1 ?false:true" lay-event="addbtn" id="btn-sh">新增</button>
                        <button class="layui-btn layui-btn-danger dhicon" th:classappend="${enableEdit} == 1 ?'':'layui-btn-disabled'" type="button" th:disabled="${enableEdit} == 1 ?false:true" lay-event="mjbtn_save" id="btn-sh">删除</button>
            		</div>
            	</div>
            </script>
        </div>
        
        <div>
            <table class="layui-hide" id="zjdhtable" lay-filter="zjtable"></table>
            <script type="text/html" id="jptoolbar">
                <div style="padding: 16px;display: flex;justify-content: space-between;">
                    <div  style="font-weight: 700;font-size: 18px;">子件列表</div>
            	</div>
            </script>
        </div>
        <th:block th:include="include :: pageFooter" /> 
    </form>
	</div>
</div>

<th:block th:include="include :: footer" />
<th:block th:include="include :: businessJS" />
<th:block th:include="include :: inlineJS" />

<script th:inline="javascript">
	/*<![CDATA[*/
	var prefix = ctx + "business/productbasis",
    	prefix2 = ctx + "base/company";

	var fields = [[${fields}]];
    var fieldsList = [[${fieldsList}]];
	var fieldsHiddenList = [[${fieldsHiddenList}]];
	var moduleTable = [[${moduleTable}]];
	var enableEdit = [[${enableEdit}]];
    //母件表格基础信息
	var gridColumns = [[${gridColumns}]];
    //母件表格基础信息
	var gridColumnsZJ = [[${gridColumnsZJ}]];
    // 母件列表数据
    var List=[[${List}]];
    //子件列表数据
    var sonList=[[${sonList}]];

	var $,layer,form,table,nid,noTable;
    layui.use(['laydate','form','layer','jquery','util','element','upload','table'], function () {
        $ = layui.$,layer = layui.layer,form = layui.form,laydate = layui.laydate,util = layui.util,element=layui.element,upload = layui.upload,table = layui.table;
        beforeInit();//表单初始化之前的动作集合
		//初始化操作
		headcom3()
        nid=$('#nid').val()
        // 保存按钮事件变化
        $(function(){
           $('.tp-save').attr('onclick','')
           $('.tp-save').attr('lay-filter','btn-edit')
           $('.tp-save').attr('lay-submit',true)

           var isxsfk=sessionStorage.getItem('isxsfk')
            if(isxsfk==1){
                setTimeout(function(){
                    var res=JSON.parse(sessionStorage.getItem('TCG_PURCHASEORDERcheckdata')) 
                    listData1=res
                    xzdata(res)
                    sessionStorage.removeItem('isxsfk')
                },500)
                
            }
        })
        // 保存操作
        form.on('submit(btn-edit)', function(data){
            var is_return = false//是否中断保存
            fieldsList.map((v,i)=>{
                if(v.fieldFrontRequired){
                    if(!$('#'+v.fields).val()){
                         layer.msg(v.fieldName+'不能为空')
                         is_return=true
                    }
                }
            })
            if(is_return) return;
            $.modal.loading("正在处理中，请稍后...");
            listData1.map((v,i)=>{
                v.iid=i+1
            })
            listData2.map((v,i)=>{
                v.iid=i+1
            })
		    $.post("/purchase/payment/editpost",{infoMap:JSON.stringify(data.field),infoItems:JSON.stringify(listData1),sonData:JSON.stringify(listData2)},function(res){
                $.modal.closeLoading()
                layer.msg(res.msg);
                if(res.code == 0){
                    window.location.href = '/purchase/payment/edit?nid=' + res.data;
                }
                  
	        });
        });
        // 审核操作
        // form.on('submit(btn-sh)', function(data){
        //     var nid=$('#nid').val()
        //     if(!nid|| nid==0){
        //         layer.msg('请先保存数据')
        //     }else{
        //         layer.confirm('是否确定审核', {btn : ['确定', '取消']}, function() {
        //             // $.modal.loading("正在处理中，请稍后...");
        //             $.post("/purchase/payment/updateType",{nid,vType:2},function(res){
        //                 // $.modal.closeLoading()
		// 		        layer.msg(res.msg);
        //                 if(res.code==0){
        //                     $('button').attr('disabled',true)
        //                     $('button').css('background',"#bbb")
        //                 }
                        
	    //             });
        //         });
                
        //     }
        // });
        // form.on('submit(btn-del)', function(data){
        //     var nid=$('#nid').val()
        //     if(!nid || nid==0){
        //         layer.msg('请先保存数据')
        //     }else{
        //         layer.confirm('是否确定删除', {btn : ['确定', '取消']}, function() {
        //             $.modal.loading("正在处理中，请稍后...");
        //             $.get("/purchase/payment/delete",{nid},function(res){
        //                 $.modal.closeLoading()
		// 		        layer.msg(res.msg);
        //                 if(res.code==0){
        //                     window.location.href = '/purchase/payment/edit?nid=0';
        //                 }
	    //             });
        //         });
        //     }
        // });

        
        var listData1=List ?List:[]
        var listData2=sonList ?sonList:[]
        // 初始化表格
            $.tablelist.init({
                elem: '#mjdhtable'
                ,data: listData1
                , page: false
                , even: true
                , limit: 10000
                , totalRow: gridColumns.totalRow
                , cols: [gridColumns.gridBody]
                , toolbar: '#zjtoolbar'
                , defaultToolbar: [{title: '列设置', layEvent: 'fieldSet', icon: 'layui-icon-set'}]
                , height: '320'
                , done: function (res, curr, count) {   
                    listData1 = table.cache.mjdhtable;//每次重载都赋值更新表缓存
                }
            });
            $.tablelist.init({
                elem: '#zjdhtable'
                , data: listData2
                , page: false
                , even: true
                , limit: 10000
                , totalRow: gridColumnsZJ.totalRow
                , cols: [gridColumnsZJ.gridBody]
                , toolbar: '#jptoolbar'
                , defaultToolbar: [{title: '列设置', layEvent: 'fieldSet', icon: 'layui-icon-set'}]
                , height: '300'
                , done: function (res, curr, count) {
                    listData2 = table.cache.zjdhtable;//每次重载都赋值更新表缓存
                }
            });


        //  赋值采购计划金额
        function numall(){
            var num=0
            listData1.map((n,m)=>{
                num=num+(+n.orderAmount)
            })
            $('#cost').val(num)
        }


        function xzdata(res){
            var pnid=""
			$.each(res,function(i,v){
                if(pnid){
                    pnid+=','+v.nid
                }else{
                    pnid+=v.nid
                }
			})
            res.map((v,i)=>{
                v.orderID=v.bid
                v.orderNumber=v.aliOrderNumber
            })
			layer.closeAll();

            var mjdata=sessionStorage.getItem('mjdata')
            if(mjdata){
                mjdata=JSON.parse(mjdata)
                let newall=[]
                let endData = [];
                var isdata=false
                for (let i = 0; i < res.length; i++) {
                    var isdata=false
                    if (newall.indexOf(res[i].orderID) === -1) {
                        for (let n = 0; n < mjdata.length; n++) {
                            if (newall.indexOf(res[i].orderID) === -1) {
                                if(res[i].orderID==mjdata[n].orderID){
                                   isdata=true
                                   endData.push(mjdata[n]);
                                   newall.push(mjdata[n].orderID);
                                }
                            }
                        }
                        if(!isdata){
                            endData.push(res[i]);
                            newall.push(res[i].orderID);
                        }
                    }
                }
                table.reload('mjdhtable', {data:endData});
            }else{
                table.reload('mjdhtable', {data:res});
            }
            numall()

            // table.reload('mjdhtable', {data:listData1});
            
			$.get('/purchase/purchaseorder/listzj2?pNid='+pnid, function(resed){
                listData2=resed.data
                table.reload('zjdhtable', {data:listData2});
			});
        }



        //母件表格操作
        table.on('toolbar(mjtable)', function (obj) {
            var selectedObject=""
            sessionStorage.setItem('mjdata',JSON.stringify(table.cache.mjdhtable))
            table.cache.mjdhtable.map((v,i)=>{
                if(selectedObject){
                    selectedObject+=','+v.orderID
                }else{
                    selectedObject+=v.orderID
                }
            })
            switch (obj.event) {
                case 'addbtn':
			    layer.open({
                	type: 2,
                	area: [($(window).width() - 200)+'px', ($(window).height() - 100)+'px'],
                	fix: false,//不固定
                	offset: '10%',//距离顶部
                	maxmin: true,//最大最小化
                	shade: 0.3,//遮罩
                	title: '母件列表',
                	content: "/purchase/purchaseplan/select2?pagetype=checkbox&by=direct&fmoduleTable="+moduleTable+"&selectedObject="+selectedObject,
                	btn: ['确定', '取消'],
                	shadeClose: true,// 弹层外区域关闭
                	yes: function(index, layero){
						var res  = window["layui-layer-iframe" + index].callbackdata();
				        if(res.length > 0){
                            xzdata(res)
				        }else{
                            layer.msg("请选择数据");
                        }
                	}
                });

                   break;
                case 'mjbtn_save':
                    var objdata=table.checkStatus('mjdhtable')
                    objdata=objdata.data
                    listData1= table.cache.mjdhtable;
                    listData2 = table.cache.zjdhtable;
                    if(objdata.length>0){
                        objdata.forEach(item => {
                            listData1 = listData1.filter(items => items.orderID!= item.orderID);
                        });
                        objdata.forEach(item => {
                            listData2 = listData2.filter(items => items.orderID!= item.orderID);
                        });
                        numall()
                        table.reload('mjdhtable', {data:listData1});
                        table.reload('zjdhtable', {data:listData2});
                    }else{
                        layer.msg("请选择数据");
                    }
                    break;
            };
        });


        $(".fieldsimg").each(function(){
	    	var id=$(this).attr('name')
            upload.render({
                elem: '#'+id+'_upimg',
	            url: '/system/fileinfo/uploadmailimg',
	            accept: 'images',
	    		before: function(obj){
                    //预读本地文件示例，不支持ie8
                    obj.preview(function(index, file, result){
                      console.log(index, file, result)
                    });
                },
	            done: function (res) {
                    //如果上传失败
                    if (res.errno > 0) {
                        return layer.msg('上传失败');
                    }else{
	    				layer.msg('上传成功');
	    				$('#'+id).val(res.data[0])
	    				layui.$('#'+id+'_upimg').find('.upicon').addClass('layui-hide')
	    				layui.$('#'+id+'_upimg').find('#uploadDemoView').removeClass('layui-hide').find('img').attr('src', res.data[0]);
	    			}
                },error: function (err) {
                    //演示失败状态，并实现重传
	            	console.log(err)
                }
            });
        })


		$('.t_date').each(function(){
            var datetype=$(this).attr('datetype')
            laydate.render({
				elem:this
                ,type: datetype=='t_date'?'date':datetype=='t_datetime'?'datetime':datetype=='t_year'?'year':'month'
			})
		})

        $.get("/purchase/payment/listbynid?nid="+nid,function(res){
 	    	noTable=res.data;
	    });

    });
    

</script>

</body>
</html>